const express = require('express');
const compression = require('compression');
const api = require('./api');
const bodyParser = require('body-parser');


const app = express();  // 创建服务器

app.use(compression());  // 使用 gzip 压缩传输

// app.use(bodyParser.urlencoded({extended:false}));  // 这个是用来解析 x-www-form-urlencoded 的数据格式
app.use(bodyParser.json());  // 这个是用来解析 json 格式地数据
// 解决跨域问题
app.all('*',(req,res,next)=>{
    res.header("Access-Control-Allow-Origin", "*");
    // 需要注意是，当前端配置了withCredentials = true时（就是提供了凭据信息，可以简单地理解为携带了cookie），
    // 必须在后端增加 response 头信息Access-Control-Allow-Origin，且必须指定域名，而不能指定为*。

    // 设置允许的header 类型
    res.header("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With");
    // 设置允许的请求方式
    res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
    res.header("X-Powered-By",' 3.2.1');
    next();
})

app.use('/api',api);  // 路由模块

app.use(express.static('./dist'));
app.listen(3000,()=>{
    console.log('server running at http://localhost:3000');
});